<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Contest Repo - Series Format</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="assets/style/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
	<%@include file="include/header.jsp"%>
<h1> Series Format </h1>

<p>The current documents describes the core series format for the system. <strong>The version of the format described here is 1</strong>.</p>
<p>Each series should be in a separate directory with a name matching the pattern <code>[a-z0-9][a-z0-9_-]*</code>. The directory name serves as an identifier for the series. </p>
<p>The problem directory should contain the following files (all the files listed below are mandatory, unless stated as optional):</p> 
 <ul>
	<li>A JSON object, describing the series metadata, in a file named <code>series.json</code>. The file should use UTF-8 encoding</li>
	<li>(optional) An arbitrary number of directories for contests for the series. For more details, see ContestFormat</li>
	<li>(optional) A subdirectory named <code>_public_files</code>, containing public additional resources for the series</li>
	<li>(optional, private <code>*</code>) A subdirectory named <code>_files</code>, containing private additional resources for the series</li>
</ul>
<p>The JSON object, describing the contest metadata in <code>series.json</code> should have the following properties:</p>
 <ul>
	<li> <code>"format"</code>: string of the type <code>"core-series-N"</code>, where <code>N</code> is an integer denoting the version of the series format used</li>
	<li> <code>"title"</code>: string, series title</li>
	<li> <code>"about"</code>: (optional) string, additional info about the series</li>
	<li> <code>"notes"</code>: (optional, private) string, additional notes about the series</li>
</ul>
<p><em><code>*</code><strong>private</strong> means that these properties aren't visible for all users unless permissions are given</em></p>
<p>Example:
<code>
<br/>
{<br/>
 "format": "core-series-1",<br/>
 "title": "Dummy series 1",<br/>
 "about": "Here are some old contests",<br/>
}<br/>
</code>
</p>
<h3> Additional notes </h3>
 <ul>
	<li> The series is considered as valid if its metadata object in <code>series.json</code> is syntactically valid, and the contests included in the series are valid</li>
 </ul>
<h3> Series Format Validation Schema: </h3>
<p><code>
{<br/>
    "name": "series";<br/>
    "properties": {<br/>
        "format": {<br/>
            "description": "core-series-N",<br/>
            "pattern": "core-series-\\d*",<br/>
            "optional": false<br/>
        },<br/>
        "title": {<br/>
            "type": "string",<br/>
            "description": "Title of the series of contests",<br/>
            "optional": false<br/>
        },<br/>
        "about": {<br/>
            "type": "string",<br/>
            "description": "Additional information about the series",<br/>
            "optional": true<br/>
        },<br/>
        "notes": {<br/>
            "type": "string",<br/>
            "description": "Additional private information about the series",<br/>
            "optional": true<br/>
        }<br/>
    }<br/>
}<br/>
</code>
</p>
</body>
</html>